using Rdl;

namespace GTame.ReportParser
{

    public class DataSetType
    {

        private DataSetTypeAccentSensitivity _AccentSensitivity;
        private DataSetTypeCaseSensitivity _CaseSensitivity;
        private string _Collation;
        private FieldsType _Fields;
        private FiltersType _Filters;
        private DataSetTypeKanatypeSensitivity _KanatypeSensitivity;
        private QueryType _Query;
        private DataSetTypeWidthSensitivity _WidthSensitivity;
        private string nameField;

        public DataSetTypeAccentSensitivity AccentSensitivity
        {
            get
            {
                return _AccentSensitivity;
            }
            set
            {
                _AccentSensitivity = value;
            }
        }

        public DataSetTypeCaseSensitivity CaseSensitivity
        {
            get
            {
                return _CaseSensitivity;
            }
            set
            {
                _CaseSensitivity = value;
            }
        }

        public string Collation
        {
            get
            {
                return _Collation;
            }
            set
            {
                _Collation = value;
            }
        }

        public FieldsType Fields
        {
            get
            {
                if (_Fields == null)
                    _Fields = new FieldsType();
                return _Fields;
            }
            set
            {
                _Fields = value;
            }
        }

        public FiltersType Filters
        {
            get
            {
                if (_Filters == null)
                    _Filters = new FiltersType();
                return _Filters;
            }
            set
            {
                _Filters = value;
            }
        }

        public DataSetTypeKanatypeSensitivity KanatypeSensitivity
        {
            get
            {
                return _KanatypeSensitivity;
            }
            set
            {
                _KanatypeSensitivity = value;
            }
        }

        public string Name
        {
            get
            {
                return nameField;
            }
            set
            {
                nameField = value;
            }
        }

        public QueryType Query
        {
            get
            {
                if (_Query == null)
                    _Query = new QueryType();
                return _Query;
            }
            set
            {
                _Query = value;
            }
        }

        public DataSetTypeWidthSensitivity WidthSensitivity
        {
            get
            {
                return _WidthSensitivity;
            }
            set
            {
                _WidthSensitivity = value;
            }
        }

        public DataSetType()
        {
        }

        public DataSetType Write()
        {
            // trial
            return null;
        }

    } // class DataSetType

}

